import numpy as np
import os
import output_function as of
from scipy.io import loadmat

# 使用示例
base_path = './data/'  # 根据您的保存路径进行修改
init_data=loadmat(f'{base_path}initial.mat')
alx = init_data['alx'][0][0]
aly = init_data['aly'][0][0]
dt=init_data['dt'][0][0]
#meshgrid
xx=init_data['x']
yy=init_data['y']
Ra=init_data['Ra'][0][0]

#out_iter是输出的次数，dt=ntp*tau是输出的时间间隔，因此下面的计算中时间仍然正确

# 假设我们从out_iter=0开始，直到8000，且每次增加100
for out_iter in range(10, 801, 10):
    # 加载数据
    # 确保数字转换为四位，并带有前导零
    formatted_iter = f"{out_iter:04d}"

    # 构建完整的文件名
    filename = f"{base_path}dat{formatted_iter}.mat"

    # 使用 loadmat 函数读取 .mat 文件
    data = loadmat(filename)

    # 直接访问变量
    wi = data['wi']
    phii = data['phii']
    T0i = data['T0i']
    Ti = data['Ti']
    vex = data['vex']
    vey = data['vey']
    
    
    # 使用加载的数据进行分析、绘图或其他处理
    base_folder=f'./figure'
    of.diag_n_pcolor_filepath(Ti, vey,vex, yy,xx, out_iter, Ra, dt,base_folder)
    if out_iter%100==0:
        print(out_iter)
    # of.diag_n_pcolor_filepath(n, n_init0_matrix, u, v, xx, yy, out_iter, Ra_star, dt,base_folder)
    # of.plot_and_save_n_density_x_section(x,y, n, n_init0_matrix, Ny//2, out_iter,title_base="delta n_density Distribution",save_folder_base=base_folder)
    # of.plot_and_save_v_x_section(x,y, v, Ny//2, out_iter,title_base="V Distribution along X-axis",save_folder_base=base_folder)